let bg = chrome.extension.getBackgroundPage()

$("#download").click(function () {
  let fileName = $("#fileName").val()
  if (!fileName && !window.confirm('不需要文件名？')) {
    return;
  }
  if (!$("#href1").val() && !$("#href2").val()) {
    window.alert('输入下载地址')
    return
  }
  fileName || (fileName = Math.floor(Math.random() * 16777215).toString(16))
  $("#href1").val() && bg.downloadFile($("#href1").val(), fileName, {
    random: 'a' + Math.floor(Math.random() * 16777215).toString(16),
    name: fileName
  })
  $("#href2").val() && bg.downloadFile($("#href2").val(), fileName, {
    random: 'b' + Math.floor(Math.random() * 16777215).toString(16),
    name: fileName
  })
  setReDownload({
    name: fileName,
    href1: $("#href1").val(),
    href2: $("#href2").val(),
    id: 'c' + Math.floor(Math.random() * 16777215).toString(16)
  })
  $("#href1").val('')
  $("#href2").val('')
  set()
  getReDownload()
})

// 更新下载进度
function uploadPercentage(options) {
  if ($("#" + options.random).length == 0) {
    $('#showdown').append(`<div class="down"> <span>${options.name} -- ${options.type}</span> <span id="${options.random}">${options.percentage}%</span> </div>`)
  } else {
    $("#" + options.random).html(options.percentage + "%")
  }
}

// 保存下载的数据，方便出差时重新下载
function setReDownload(options) {
  let data = JSON.parse(localStorage.getItem('rd')) || [];
  data.push(options);
  if (data.length > 50) {
    data.shift();
  }
  localStorage.setItem('rd', JSON.stringify(data))
}

// 显示所有之前下载的数据，可以重新下载
function getReDownload() {
  let data = JSON.parse(localStorage.getItem('rd')) || [];
  if (data.length == 0) return;
  $('#redownload').html('')
  data.forEach(element => {
    $('#redownload').prepend(` <div class="down"> <span>${element.name}</span> <span class="rd" id="${element.id}">重新下载</span> </div>`)
    setTimeout(() => {
      $("#" + element.id).click(function () {
        data.forEach(item => {
          if (item.id == element.id) {
            item.href1 && bg.downloadFile(item.href1, item.name, {
              random: 'd' + Math.floor(Math.random() * 16777215).toString(16),
              name: item.name
            })
            item.href2 && bg.downloadFile(item.href2, item.name, {
              random: 'd' + Math.floor(Math.random() * 16777215).toString(16),
              name: item.name
            })
          }
        })
      })
    }, 300);
  });
}
getReDownload()

// 输入框更改时保存数据
$("#fileName").change(function () {
  set();
})
$("#href1").change(function () {
  set();
})
$("#href1").change(function () {
  set();
})
function set() {
  localStorage.setItem('name', $("#fileName").val())
  localStorage.setItem('href1', $("#href1").val())
  localStorage.setItem('href2', $("#href2").val())
}

function get() {
  $("#fileName").val(localStorage.getItem('name'))
  $("#href1").val(localStorage.getItem('href1'))
  $("#href2").val(localStorage.getItem('href2'))
}
get()